package com.cls.business.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cls.common.annotation.DecryptField;
import com.cls.common.annotation.EncryptDecryptEntity;
import com.cls.common.annotation.EncryptField;
import com.cls.common.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 课题评审记录表 Entity
 *
 * @author slx
 * @date 2021-03-02 15:54:14
 */
@Data
@TableName("biz_class_distribution_record")
@EncryptDecryptEntity
public class ClassDistributionRecord extends BaseEntity implements Serializable {


    /**
     * 主键ID
     */
    @TableId(value = "distribution_record_id", type = IdType.AUTO)
    private Long distributionRecordId;


    /**
     * 课题计划 id
     */
    @TableField("plan_id")
    private Long planId;

    @TableField(value = "topic_id")
    private Long topicId;

    /**
     * 分配专家 id
     */
    @TableField("expert_id")
    private Long expertId;


    /**
     * 评审是否完成
     */
    @TableField("review_finished")
    private Boolean reviewFinished;


    /**
     * 分配日期
     */
    @TableField("distribution_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date distributionDate;


    /**
     * 评审结束时间
     */
    @TableField("review_finished_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date reviewFinishedDate;


    /**
     * 评审意见
     */
    @TableField("review_text")
    private String reviewText;


    /**
     * 评审附件
     */
    @TableField("file_id")
    private String fileId;

    /**
     * 姓名
     */
    @TableField(exist = false)
    private String name;
    /**
     * 移动手机
     */
    @TableField(exist = false)
    @DecryptField
    @EncryptField
    private String mobile;
    /**
     * 学科分类id
     */
    @TableField(exist = false)
    private List<String> subjectTypeCodes;

    /**
     * 年份
     */
    @TableField(exist = false)
    private String year;

    /**
     * 课题名称
     */
    @TableField(exist = false)
    private String topicName;
    /**
     * 课题类型
     */
    @TableField(exist = false)
    private String topicClassifyCode;
    /**
     * 课题分类
     */
    @TableField(exist = false)
    private String topicLevelType;

}
